home *** CD-ROM | disk | FTP | other *** search
/ Group 42-Sells Out! - The Information Archive / Group 42 Sells Out (Group 42) (1996).iso / hack / nia / nia023.txt < prev    next >
Text File  |  1995-11-30  |  18KB  |  331 lines

  1.  ┌──────────────────┐ ╔═══════════════════════════════╗ ┌──────────────────┐
  2.  │   Founded By:    │ ║  Network Information Access   ║ │ Mother Earth BBS │
  3.  │ Guardian Of Time │─║            17APR90            ║─│  NUP:> DECnet    │
  4.  │   Judge Dredd    │ ║          Judge Dredd          ║ │Text File Archives│
  5.  └────────┬─────────┘ ║            File 23            ║ └─────────┬────────┘
  6.           │           ╚═══════════════════════════════╝           │
  7.           │           ╔═══════════════════════════════╗           │
  8.           └───────────╢ Overview on Viruses & Threats ║───────────┘
  9.                       ╚═══════════════════════════════╝
  10.  
  11.  
  12.   The  term computer  virus is  often  used in  a general  sense to
  13.   indicate any software that can cause harm to systems or networks.
  14.  
  15.   However,  computer viruses are just one example of many different
  16.   but related forms  of software that can act with  great speed and
  17.   power to  cause extensive  damage -other  important examples  are
  18.   Trojan horses  and network  worms.   In this series, I will discuss
  19.   each.  This first file is a basic overview.
  20.  
  21.  
  22. $_Trojan Horses
  23.  
  24.   A Trojan horse1 program is a  useful or apparently useful program
  25.   or command procedure  containing hidden code that,  when invoked,
  26.   performs some unwanted  function.   An author of  a Trojan  horse
  27.   program might first create or gain access to the source code of a
  28.   useful program that  is attractive to  other users, and then  add
  29.   code  so  that the  program  performs  some  harmful function  in
  30.   addition to its  useful function.   A simple example of  a Trojan
  31.   horse  program  might  be  a  calculator  program  that  performs
  32.   functions similar  to that of a  pocket calculator.  When  a user
  33.   invokes the program, it appears to be performing calculations and
  34.   nothing more, however it may also  be quietly deleting the user's
  35.   files, or performing any  number of harmful actions.   An example
  36.   of an even simpler Trojan horse program is one that performs only
  37.   a  harmful  function, such  as a  program  that does  nothing but
  38.   delete files.   However, it may appear to  be a useful program by
  39.   having a name such as CALCULATOR  or something similar to promote
  40.   acceptability.
  41.  
  42.   Trojan  horse  programs  can  be  used  to  accomplish  functions
  43.   indirectly  that  an  unauthorized   user  could  not  accomplish
  44.   directly.  For example, a user  of a multi-user system who wishes
  45.   to gain access to  other users' files could create a Trojan horse
  46.   program to circumvent the users' file  security mechanisms.   The
  47.   Trojan horse program, when run,  changes the invoking user's file
  48.   permissions so  that the files  are readable  by any  user.   The
  49.   author could then induce users to run  this program by placing it
  50.   in a  common directory and naming  it such that users  will think
  51.   the program is a useful utility.  After a user runs  the program,
  52.   the author can then  access the information in the  user's files,
  53.   which  in  this  example  could be  important  work  or  personal
  54.   information.  Affected users may not  notice the changes for long
  55.   periods of time unless they are very observant.
  56.  
  57.   An example of a Trojan horse program that would be very difficult
  58.   to  detect would be  a compiler on  a multi-user system  that has
  59.   been modified to insert additional  code into certain programs as
  60.   they are  compiled, such as a login program.   The code creates a
  61.   trap door in the  login program which permits the  Trojan horse's
  62.   author to log onto the system using a special password.  Whenever
  63.   the  login program is recompiled, the compiler will always insert
  64.   the trap  door code into the program,  thus the Trojan horse code
  65.   can never  be discovered  by reading  the login  program's source
  66.   code.
  67.  
  68.   Trojan horse  programs are introduced  into systems in  two ways:
  69.  
  70.     they are initially  planted, and unsuspecting users copy  and run
  71.     them.  They are planted in software repositories that many people
  72.     can  access,  such  as  on  personal  computer  network  servers,
  73.     publicly-accessible directories in  a multi-user environment, and
  74.     software bulletin boards.  Users are then  essentially duped into
  75.  
  76.     copying  Trojan   horse  programs   to  their   own  systems   or
  77.     directories.   If  a  Trojan  horse  program  performs  a  useful
  78.     function and causes  no immediate or  obvious damage, a user  may
  79.     continue to spread it  by sharing the program with  other friends
  80.     and co-workers.  The  compiler that copies hidden code to a login
  81.     program might  be  an example  of a  deliberately planted  Trojan
  82.     horse that could be  planted by an  authorized user of a  system,
  83.     such as a user assigned to maintain compilers and software tools.
  84.  
  85. $_Computer Viruses
  86.  
  87.   Computer viruses, like  Trojan horses, are programs  that contain
  88.   hidden  code  which  performs  some  usually  unwanted  function.
  89.   Whereas  the  hidden code  in  a  Trojan horse  program  has been
  90.   deliberately placed by the program's author, the hidden code in a
  91.   computer  virus program has  been added by  another program, that
  92.   program itself being  a computer  virus or Trojan  horse.   Thus,
  93.   computer  viruses are  programs that  copy their  hidden code  to
  94.   other programs, thereby infecting them.  Once infected, a program
  95.   may  continue to  infect  even more  programs.   In  due time,  a
  96.   computer could be completely  overrun as the viruses spread  in a
  97.   geometric manner.
  98.  
  99.    An example illustrating  how a computer  virus works might be  an
  100.    operating system  program for  a personal computer,  in which  an
  101.    infected  version of the  operating system  exists on  a diskette
  102.    that contains an attractive game.   For the game to operate,  the
  103.    diskette must be used to boot the computer, regardless of whether
  104.    the  computer  contains a  hard  disk with  its  own copy  of the
  105.    (uninfected)  operating  system program.    When the  computer is
  106.     booted  using the diskette,  the infected program  is loaded into
  107.     memory and  begins to  run.   It immediately  searches for  other
  108.     copies of the operating system program, and finds one on the hard
  109.     disk.  It then copies its hidden code  to the program on the hard
  110.     disk.   This happens so quickly that the  user may not notice the
  111.     slight delay before his game is run.  Later, when the computer is
  112.     booted using the  hard disk,  the newly infected  version of  the
  113.     operating system  will be  loaded into memory.   It will  in turn
  114.     look  for copies  to infect.   However, it  may also  perform any
  115.     number  of  very   destructive  actions,  such  as   deleting  or
  116.     scrambling all the files on the disk.
  117.  
  118.     A  computer virus exhibits  three characteristics:  a replication
  119.     mechanism,  an  activation  mechanism,  and  an objective.    The
  120.     replication mechanism performs the following functions:
  121.  
  122.        -  searches for other programs to infect
  123.  
  124.        -  when it finds  a program, possibly determines  whether
  125.           the program has been previously infected by checking a
  126.           flag
  127.  
  128.        -  inserts  the  hidden  instructions  somewhere  in  the
  129.           program
  130.  
  131.        -  modifies  the  execution  sequence  of  the  program's
  132.           instructions  such  that  the  hidden   code  will  be
  133.           executed whenever the program is invoked
  134.  
  135.        -  possibly creates a  flag to indicate that  the program
  136.           has been infected
  137.  
  138.     The flag may be  necessary because without it, programs  could be
  139.     repeatedly infected and  grow noticeably large.   The replication
  140.     mechanism could  also perform  other functions  to help  disguise
  141.     that the file  has been infected,  such as resetting the  program
  142.     file's modification date to  its previous value, and  storing the
  143.     hidden code within the program so that the program's size remains
  144.     the same.
  145.  
  146.     The activation mechanism checks for the occurrence of some event.
  147.     When the event occurs, the computer virus executes its objective,
  148.     which  is  generally  some  unwanted,  harmful action.    If  the
  149.     activation mechanism checks  for a specific  date or time  before
  150.     executing its objective, it  is said to contain a time  bomb.  If
  151.     it  checks for a certain  action, such as  if an infected program
  152.     has been executed a preset number of times, it is said to contain
  153.     a logic bomb.   There may be  any number of variations,  or there
  154.     may be no activation  mechanism other than the  initial execution
  155.     of the infected program.
  156.  
  157.     As mentioned, the  objective is  usually some unwanted,  possibly
  158.     destructive event.   Previous examples  of computer viruses  have
  159.     varied widely in  their objectives, with some  causing irritating
  160.     but harmless displays  to appear, whereas  others have erased  or
  161.     modified files or  caused system hardware to  behave differently.
  162.     
  163.     Generally, the objective consists of  whatever actions the author
  164.     has designed into the virus.
  165.  
  166.     As with Trojan horse programs, computer viruses can be introduced
  167.     into  systems  deliberately  and  by  unsuspecting  users.    For
  168.     example, a Trojan horse program whose  purpose is to infect other
  169.     programs  could be  planted  on a  software  bulletin board  that
  170.     permits  users  to upload  and download  programs.   When  a user
  171.     downloads the program and then executes it,  the program proceeds
  172.     to infect  other programs in the user's  system.  If the computer
  173.     virus  hides itself well,  the user may continue  to spread it by
  174.     copying the infected  program to other  disks, by backing it  up,
  175.     and  by  sharing it  with other  users.   Other  examples  of how
  176.     computer   viruses  are   introduced  include   situations  where
  177.     authorized users  of systems  deliberately  plant viruses,  often
  178.     with  a time bomb mechanism.   The virus may then activate itself
  179.     at some later point in time, perhaps when the user is  not logged
  180.     onto  the  system  or  perhaps  after   the  user  has  left  the
  181.     organization.
  182.  
  183.  
  184.  
  185.  
  186. $_Network Worms
  187.  
  188.      Network  worm  programs use  network  connections to  spread from
  189.      system  to system,  thus network  worms  attack systems  that are
  190.      linked via communications lines.  Once  active within a system, a
  191.      network worm can behave as a computer  virus, or it could implant
  192.      Trojan  horse programs  or perform  any  number of  disruptive or
  193.      destructive actions.  In a sense, network worms are like computer
  194.      viruses with the ability to infect other systems as well as other
  195.      programs.  Some people use the term virus to include both cases.
  196.  
  197.      To replicate themselves,  network worms use some  sort of network
  198.      vehicle, depending on the type of  network and systems.  Examples
  199.      of network vehicles include (a) a network mail facility, in which
  200.      a  worm can mail  a copy  of itself to  other systems, or  (b), a
  201.      remote execution capability, in  which a worm can execute  a copy
  202.      of itself on  another system, or  (c) a remote login  capability,
  203.      whereby  a worm can log  into a remote system as  a user and then
  204.      use commands to  copy itself from one  system to the other.   The
  205.      new copy of  the network worm is  then run on the  remote system,
  206.      where it may continue to spread to more systems in a like manner.
  207.      Depending on the size of a network, a network worm can  spread to
  208.      many  systems  in a  relatively short  amount  of time,  thus the
  209.      damage it can cause to one system is multiplied by the  number of
  210.      systems to which it can spread.
  211.  
  212.      A network  worm exhibits the  same characteristics as  a computer
  213.      virus: a replication mechanism, possibly an activation mechanism,
  214.      and an objective.   The replication mechanism  generally performs
  215.      the following functions:
  216.  
  217.           -  searches for other systems to infect by examining host
  218.              tables  or  similar  repositories  of  remote   system
  219.              addresses
  220.  
  221.           -  establishes  a   connection  with  a   remote  system,
  222.              possibly by  logging in  as a  user  or using  a  mail
  223.              facility or remote execution capability
  224.  
  225.           -  copies itself to the remote system and causes the copy
  226.              to be run
  227.  
  228.      The network worm may  also attempt to determine whether  a system
  229.      has previously been infected before copying itself to the system.
  230.  
  231.      In a multi-tasking computer, it may also disguise its presence by
  232.      naming  itself as a system process  or using some other name that
  233.      may not be noticed by a system operator.
  234.  
  235.      The activation mechanism might use a  time bomb or logic bomb  or
  236.      any number of variations to activate itself.  Its objective, like
  237.      all  malicious software, is whatever the author has designed into
  238.      it.  Some network worms have been designed  for a useful purpose,
  239.      such as to perform general "house-cleaning" on networked systems,
  240.      or  to  use extra  machine  cycles  on each  networked  system to
  241.     perform  large  amounts  of  computations  not practical  on  one
  242.      system.  A network worm with a harmful objective could perform  a
  243.      wide  range of destructive  functions, such as  deleting files on
  244.      each affected computer, or by implanting Trojan horse programs or
  245.      computer viruses.
  246.  
  247.      Two examples of  actual network  worms are presented  here.   The
  248.      first  involved a Trojan horse program that displayed a Christmas
  249.      tree  and  a message  of  good  cheer (this  happened  during the
  250.      Christmas  season).    When  a user  executed  this  program,  it
  251.      examined   network  information  files  which  listed  the  other
  252.      personal computers that could  receive mail from this user.   The
  253.      program then mailed itself to those  systems.  Users who received
  254.      this message  were  invited to  run  the Christmas  tree  program
  255.      themselves, which they did.   The network worm thus  continued to
  256.      spread to  other systems until  the network was  nearly saturated
  257.      with traffic.   The network  worm did not  cause any  destructive
  258.      action other than disrupting communications and causing a loss in
  259.      productivity.
  260.  
  261.      The second example concerns the  incident whereby a network  worm
  262.      used the collection of  networks known as the Internet  to spread
  263.      itself to several  thousands of computers located  throughout the
  264.      United States.  This worm  spread itself automatically, employing
  265.      somewhat  sophisticated  techniques  for bypassing  the  systems'
  266.      security mechanisms.   The worm's replication  mechanism accessed
  267.      the systems by using one of three methods:
  268.  
  269.           -  it employed  password cracking, in  which it attempted
  270.              to log into systems using  usernames for passwords, as
  271.              well as using words from an on-line dictionary
  272.  
  273.           -  it exploited a  trap door  mechanism in mail  programs
  274.              which  permitted  it  to  send  commands to  a  remote
  275.              system's command interpreter
  276.  
  277.           -  it exploited a  bug in  a network information  program
  278.              which permitted it to access a remote system's command
  279.              interpreter
  280.  
  281.      By using a  combination of  these methods, the  network worm  was
  282.      able to copy itself  to different brands of computers  which used
  283.      similar versions of a widely-used operating  system.  Many system
  284.      managers were  unable to  detect its  presence in their  systems,
  285.      thus  it  spread  very quickly,  affecting  several  thousands of
  286.      computers  within  two  days.    Recovery efforts  were  hampered
  287.      because  many  sites  disconnected from  the  network  to prevent
  288.      further infections,  thus preventing those  sites from  receiving
  289.      network mail that explained how to correct the problems.
  290.  
  291.      It was unclear  what the network worm's objective was,  as it did
  292.      not destroy  information, steal  passwords, or  plant viruses  or
  293.      Trojan horses.  The  potential for destruction was very  high, as
  294.      the  worm  could have  contained  code  to effect  many  forms of
  295.      damage, such as  to destroy all files  on each system.
  296.  
  297.  
  298.  
  299. $_Other Related Software Threats
  300.  
  301.  
  302.      The  number of variations of Trojan horses, computer viruses, and
  303.      network worms is apparently endless.   Some have names, such as a
  304.      rabbit, whose objective is to spread wildly within or among other
  305.      systems  and  disrupt  network  traffic,  or a  bacterium,  whose
  306.      objective is to  replicate within a  system and eat up  processor
  307.      time  until computer  throughput is  halted.   It  is
  308.      likely  that  many new  forms  will  be  created, employing  more
  309.      sophisticated techniques for spreading and causing damage.
  310.  
  311.  
  312.  
  313. $_The Threat of Unauthorized Use
  314.  
  315.      In  that computer viruses and related forms of malicious software
  316.      are intriguing  issues  in themselves,  it  is important  not  to
  317.      overlook that they are created by people, and are fundamentally a
  318.      people problem.   In essence, examples of malicious  software are
  319.      tools that  people use  to extend  and enhance  their ability  to
  320.      create mischief and various other forms of damage.  Such software
  321.      can do  things that  the interactive user  often cannot  directly
  322.      effect,  such  as  working  with   great  speed,  or  maintaining
  323.      anonymity,  or  doing  things that  require  programmatic  system
  324.      calls.   But  in general,  malicious  software exploits  the same
  325.      vulnerabilities  as  can knowledgeable  users.   Thus,  any steps
  326.      taken to  reduce the likelihood  of attack by  malicious software
  327.      should address  the likelihood  of unauthorized  use by  computer
  328.      users.
  329.  
  330. -JUDGE DREDD/NIA
  331.